Data input device power management including beacon state

ABSTRACT

Capacitive proximity sensing is carried out by detecting a relative change in the capacitance of a “scoop” capacitor formed by a conductor and a surrounding ground plane. The conductor may be a plate provided in the form of an adhesive label printed with conductive ink. Charge is transferred between the “scoop” capacitor and a relatively large “bucket” capacitor, and a voltage of the bucket capacitor is applied to an input threshold switch. A state transition (e.g., from low to high, or high to low) of the input threshold switch is detected and a value (TouchVal) indicative of a number of cycles of charge transfer required to reach the state transition is determined. The presence or absence of an object or body portion in close proximity to or contact with a device can be determined by comparing TouchVal with a predetermined threshold value (TouchOff). TouchOff can be adjusted to take into account environmentally induced (non-touch related) changes in the capacitance of the scoop capacitor. Power management is provided in a user operated data input device utilizing proximity sensing and switching between three or more power states. Switching between the power states occurs based upon the presence or absence of input activity, and an operation instrumentality (e.g., a hand) in close proximity to or contact with the device. In an optical surface tracking cursor control device embodiment, switching to and from a BEACON state, which provides a reduced flash rate of a surface illuminating light source, is carried out based upon a detected presence or absence of a trackable surface.

[0001] This application claims the benefit of prior copending U.S.application Ser. No. 09/948,099, filed Sep. 7, 2001.

FIELD OF THE INVENTION

[0002] The present invention relates to power management systems andmethods that may be advantageously used in managing power consumption inelectronic devices, particularly hand operated data input devices. Theinvention further concerns sensing systems and methods usable as part ofa power management system, and for other purposes. More specifically,the invention relates to sensing and power management systems andmethods that may be used to conserve battery power in wireless datainput devices having components that consume power at a relatively highrate.

BACKGROUND OF THE INVENTION

[0003] Power management in electronic devices is becoming increasinglyimportant as greater reliance is placed on battery power, e.g., forportable computers, personal data assistants (PDAs), tablet computers,cellular phones, pagers, and wireless computer peripherals. Thecomponents of such devices are becoming increasingly power hungry, andthe demand for longer intervals between battery replacement orrecharging has increased. Such devices are often turned on for readyusability but left idle for significant periods of time. This presentsan opportunity to reduce depletion of battery power through the use ofreduced power modes.

[0004] Recently, wireless peripheral devices intended for use with ahost computer have been introduced. In particular, cursor control(pointing) devices such as a computer mouse and trackball device havebeen made wireless by inclusion of a battery power source within thedevice and the provision of a wireless data link, e.g., an infrared orRF transmitter/receiver pair. Without effective power management,continuous operation of such wireless peripherals will rapidly depletethe limited battery power of the device, thus requiring frequent batteryreplacement or recharging.

[0005] In another line of technological development, cursor controldevices utilizing optical surface tracking systems have been introducedand are increasingly being used in lieu of devices relying onconventional opto-electric encoder wheel arrangements. Optical trackingcan provide more reliable and accurate tracking by eliminating movingparts (e.g., a ball and associated encoder wheels), which are prone tomalfunction from the pick-up of dirt, oils, etc. from the trackedsupport surface and/or a user's hand. On the other hand, opticaltracking requires considerably more power for driving the circuitry usedto illuminate a trackable surface and to receive and process light(image information) reflected from the trackable surface. Exemplaryoptical tracking systems, and associated signal processing techniques,are disclosed in commonly owned U.S. Pat. No. 6,172,354 (Adan et al.)and copending applications Ser. No. 09/692,120, filed Oct. 19, 2000, andSer. No. 09/273,899, filed Mar. 22, 1999, each of which is herebyincorporated by reference in its entirety.

[0006] Heretofore, limited use of optical tracking systems has been madein wireless cursor control devices, due to the relatively large powerrequirements of both the optical tracking system and the wireless datatransmitter. In one recent offering, the Logitech Cordless Mouseman®Optical, multiple sleep and awake modes are utilized to increase batterylife. Switching from a full run mode through a succession of reducedpower modes is carried out based upon durations of user inactivity.Whenever the user moves the mouse or clicks a mouse button, the mousereturns to the full run mode.

[0007] Various types of user proximity detectors are known, and used inpower management systems and myriad other applications. For example,Tournai U.S. Pat. No. 5,408,668 discloses a processor based controlsystem for connecting and disconnecting a computer peripheral device(e.g., a display monitor or printer) to a power source. The control isbased upon input activity signals received from an input source such asa keyboard, mouse, printer or an occupancy sensor.

[0008] Mese et al. U.S. Pat. No. 5,396,443 discloses power savingcontrol arrangements for information processing apparatus. Morespecifically, the Mese et al. '443 patent describes various systems for(1) detecting the approach (or contact) of a user associated medium to(or with) the apparatus; (2) placing a controlled object of theapparatus in a non-power saving state when such contact or approach isdetected; and (3) placing the controlled object in a power saving statewhen the presence of the user associated medium (i.e., a stylus pen orpart of a user's body) is not detected for a predetermined period oftime.

[0009] The '443 patent describes various types of approach/contactsensors. Among these, various “tablet” type sensor systems aredescribed, including electromagnetic, capacitance, and electrostaticcoupling tablets. In one embodiment, a contact or approach detectingtablet, and a flat display panel, may be integrally formed with ahousing of the information processing apparatus.

[0010] Philipp U.S. Pat. No. 5,730,165 describes a capacitive fielddetector used to provide on-off control of a water fountain or washbasin faucet, based upon a detected approach or presence of a user.

[0011] In one embodiment of the Philipp '165 patent, a voltage-limitedcurrent source feeds a charging current to a plate. At the end of acharging interval, a discharge switch controlled by a microprocessorcloses briefly to discharge the sensing plate into a charge detector,e.g., a charge detecting capacitor. The amount of charge so transferredis representative of the capacitance of the sensing plate. Thecharge-discharge process can be repeated numerous times, in which casethe charge measurement means aggregates the charge from the plate overseveral operating cycles. After a predetermined number of cycles ofcharge and discharge, the charge detector is examined for total finalcharge, by an A/D converter, and as a result the controller may generatean output control signal on an output line which may be used to cause afaucet to open. After each reading, the controller resets the chargedetector to allow it to accumulate a fresh set of charges from theplate. Alternatively, the controller can take a reading after eachindividual cycle of the discharging switch, and then integrate (orotherwise filter) the readings over a number of cycles prior to making alogical decision resulting in a control output.

[0012] Sellers U.S. Pat. No. 5,669,004 discloses a system for reducingpower usage in a personal computer. More specifically, a power controlcircuit is disclosed for powering down portions of a personal computerin response to user inactivity, and for delivering full power to theseportions once user activity is detected via one or more sensors. Thecomponents to which power is reduced (or removed) are components whichcan respond almost immediately to being turned on. On the other hand,components which require a period of time to come up to full operation(e.g., disk drive motors, monitor, main processor) are driven to fullpower. In the primary embodiment that is disclosed, the sensor is apiezoelectric sensor fitted into a keyboard. Sellers discloses thatsensors may be positioned at other locations on the computer (a monitor,mouse, trackball, touch pad or touch screen) and that various otherkinds of sensors (capacity, stress, temperature, light) could be usedinstead of piezoelectric sensors.

SUMMARY OF THE INVENTION

[0013] The present invention has several aspects which may beadvantageously (but not necessarily) utilized in combination with eachother to provide effective power management in user operated data inputdevices. Capacitive sensing system and method aspects of the inventionare not limited to power management and can be implemented inessentially any application (data input devices or otherwise) wherethere is a desire to reliably and efficiently sense the presence (orabsence) of an object or body portion in contact with or close proximityto another object. Power management aspects of the invention areembodied in user operated data input devices, and methods of powermanagement carried out within such devices. Particularly advantageoususe may be made of the capacitive sensing and power management aspectsof the invention together with each other, to substantially increasebattery life in a wireless cursor control device (e.g., computer mouseor trackball device) or other user operated data input device,especially one including circuit components (e.g., an optical trackingsystem and RF transmitter) that draw relatively large amounts ofelectrical power.

[0014] In a first aspect, the invention is embodied in a capacitivesensing system for sensing the presence of an object or body portion incontact with or close proximity to another object. A first conductor iscapacitively coupled to a ground to thereby form a scoop capacitorhaving a capacitance which varies in relation to the proximity of theobject or body portion to the conductor. A pair of second and thirdconductors form a bucket capacitor having a capacitance which is largerthan a maximum capacitance of the scoop capacitor, and an inputthreshold switch is provided. Switching means are provided forselectively: connecting at least one of the scoop capacitor and bucketcapacitor to a voltage source to charge the at least one capacitor,varying the charge of the bucket capacitor in relation to a relativesize of the scoop capacitor, and applying a voltage of the bucketcapacitor to the input threshold switch. A detector means is providedfor detecting an input state of the input threshold switch. Determiningmeans determine a value (TouchVal) relating to a number of cycles ofvarying of the bucket capacitor charge corresponding to a detection of atransition of the input threshold switch by the detector means. Signalgenerating means generate, based upon TouchVal, a signal indicative ofan ON state wherein the object or body portion is in contact with orclose proximity to another object, and an OFF state wherein the objector body portion is not in contact with or close proximity to anotherobject.

[0015] In a second aspect, the invention is embodied in a user operateddata input device. First and second data input signal generating meansare provided for generating respective first and second data inputsignals. A power supply is provided for selectively supplying electricalpower to the first and second input signal generating means. A sensingsystem senses the presence of an operation instrumentality in contactwith or close proximity to the input device, and generates a signalindicative of an ON state wherein the operation instrumentality is incontact with or close proximity to the input device, and an OFF statewherein the operation instrumentality is not in contact with or closeproximity to the input device. A power management system controls thesupply of power to the first and second input signal generating means.The power management system provides switching between at least threepower states. In a first of the power states, each of the first andsecond input signal generating means is powered-up to a normal operationlevel and sampled for input activity. In a second of the power states,each of the first and second input signal generating means are cycledbetween a powered-up state wherein sampling for input activity iscarried out, and a powered down state. In a third of the power states,the first signal generating means remains powered down while the secondsignal generating means is cycled between a powered-up state whereinsampling for input activity is carried out, and a powered down state. Atransition from the first power state to the third power state occursupon a transition of the sensing system from the ON state to the OFFstate. A transition from the third power state to one of the first andsecond power states occurs upon a transition of the sensing system fromthe OFF state to the ON state. A transition from the second power stateto the first power state occurs upon a detection of input activityduring the sampling of the first and second input signal generatingmeans.

[0016] In a third aspect, the invention is embodied in a hand-heldcursor control device comprising an optical tracking engine including alight source which is flashed. A detector means detects light from thelight source which has been reflected off of a surface. Determiningmeans are provided for determining the presence or absence of atrackable surface. A control means controls the light source such that(a) when the determining means determines the presence of a trackablesurface the light source is flashed at a first rate permitting trackingof the surface, and (b) when the determining means determines theabsence of a trackable surface the light source is flashed at a secondrate lower than the first rate.

[0017] In a fourth aspect, the invention is embodied in a method forsensing the presence of an object or body portion in contact with orclose proximity to another object. The method is carried out with afirst conductor capacitively coupled to a ground to thereby form a scoopcapacitor having a capacitance which varies in relation to the proximityof the object or body portion to the conductor. A pair of second andthird conductors are provided, which form a bucket capacitor having acapacitance which is larger than a maximum capacitance of the scoopcapacitor; and an input threshold switch. Switching is performed toselectively: connect at least one of the scoop capacitor and the bucketcapacitor to a voltage source to charge the at least one capacitor,varying the charge of the bucket capacitor in relation to a relativesize of the scoop capacitor, and apply a voltage of the bucket capacitorto the input threshold switch. An input state of the input thresholdswitch is detected. A value (TouchVal) is determined, which relates to anumber of cycles of varying the bucket capacitor charge corresponding toa detection of a transition of the input threshold switch. Based uponTouchVal, a signal is generated which is indicative of an ON statewherein the object or body portion is in contact with or close proximityto another object, and an OFF state wherein the object or body portionis not in contact with or close proximity to the object.

[0018] In a fifth aspect, the invention is embodied in a method of powermanagement carried out by a user operated data input device comprisingfirst and second data input signal generating means for generatingrespective first and second data input signals, and a power supply forselectively supplying electrical power to the first and second inputsignal generating means. The method involves sensing the presence of anoperation instrumentality in contact with or close proximity to theinput device and generating a signal indicative of an ON state whereinan operation instrumentality is in contact with or close proximity tothe input device, and an OFF state wherein the operation instrumentalityis not in contact with or close proximity to the input device. Thesupply of power to the first and second input signal generating means iscontrolled by providing switching between at least three power states.In a first of the power states, each of the first and second inputsignal generating means is powered-up to a normal operation level andsampled for input activity. In a second of the power states, each of thefirst and second input signal generating means are cycled between apowered-up state wherein sampling for input activity is carried out, anda powered down state. In a third of the power states, the first signalgenerating means remains powered down while the second signal generatingmeans is cycled between a powered-up state wherein sampling for inputactivity is carried out, and a powered down state. A transition from thefirst power state to the third power state occurs upon a transition ofthe sensing system from the ON state to the OFF state. A transition fromthe third power state to one of the first and second power states occursupon a transition of the sensing system from the OFF state to the ONstate. A transition from the second power state to the first power stateoccurs upon a detection of input activity during the sampling of thefirst and second input signal generating means.

[0019] In a sixth aspect, the invention is embodied in a method carriedout by a hand-held cursor control device comprising an optical trackingengine including a light source which is flashed. Light from the lightsource, which has been reflected off of a surface, is detected. Thepresence or absence of a trackable surface is determined. The lightsource is controlled such that (a) when the presence of a trackablesurface is determined the light source is flashed at a first ratepermitting tracking of the surface, and (b) when the absence of atrackable surface is determined the light source is flashed at a secondrate lower than the first rate.

[0020] In a seventh aspect, the invention is embodied in an electronicdevice comprising a housing and a capacitive sensing system containedwithin the housing. The sensing system senses the presence of anoperation instrumentality in contact with or close proximity to theelectronic device, and generates a signal indicative of an ON statewherein an operation instrumentality is in contact with or closeproximity to the electronic device, and an OFF state wherein theoperation instrumentality is not in contact with or close proximity tothe electronic device. The capacitive sensing system includes aconductive sensor plate in the form of a flexible label adhesivelyapplied to the housing.

[0021] The above and other objects, features and advantages of thepresent invention will be readily apparent and fully understood from thefollowing detailed description of preferred embodiments, taken inconnection with the appended drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

[0022]FIG. 1 is a block diagram of an electrical circuit of a wireless,optical surface tracking mouse employing capacitive sensing and powermanagement systems in accordance with the present invention.

[0023]FIG. 2 is a functional block diagram of a host computer andassociated cursor control device to which the present inventive systemsmay be applied.

[0024]FIG. 3 is a table illustrating an exemplary packet of informationthat may be generated by an input pointing device, such as the mouseshown in FIG. 2, for transmission to a host computer.

[0025]FIG. 4 is a schematic depiction of an exemplary optically trackingcomputer mouse, to which the present inventive capacitive sensing andpower management systems may be applied.

[0026]FIG. 5 is a diagrammatic illustration of a wireless mouse to whichthe present inventive capacitive sensing and power management systemsmay be applied, linked to a host computer by an RF transmitter/receiverpair.

[0027]FIG. 6 is a perspective assembly drawing of a wireless opticallytracking mouse, into which the sensing and power management systemsillustrated in FIG. 1 are incorporated.

[0028]FIG. 7 is a circuit schematic of a capacitive proximity sensingsystem in accordance with the present invention.

[0029]FIG. 8 is a state machine diagram illustrating exemplary logicflow and control of a power management system according to theinvention, for management of power consumption in a wireless, opticallytracking mouse of the type illustrated in FIG. 6.

[0030]FIG. 9 is a state machine diagram illustrating exemplary logicflow and control in accordance with the invention, for carrying outcapacitive sensing with circuitry as illustrated in FIG. 7.

[0031]FIG. 10 is a top plan view of a flexible conductive label that mayserve as a conductive plate of the “scoop” capacitor provided as part ofthe circuit of FIG. 7.

[0032]FIG. 11 is a bottom side perspective view of the conductive labelshown in FIG. 10.

[0033]FIG. 12 is a cross-sectional view taken through a representativeconductive ink bearing region of the label-type sensor plate shown inFIG. 9.

[0034]FIG. 13 is a right side bottom perspective view of the inside ofan upper housing assembly of the mouse shown in FIG. 6, illustrating alayout of the label-type sensor plate shown in FIGS. 10-12 applied tothe inside surface of the cover assembly.

[0035]FIG. 14 is a left side bottom perspective view of the housingassembly shown in FIG. 13, further illustrating a layout of the appliedlabel-type sensor plate.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0036] The present inventive systems and methods are described herein interms of an exemplary application thereof within a computer inputdevice, particularly a wireless, optically tracking computer mouse. Itwill be understood, however, that the inventions have much wider-rangingpotential application. The capacitive sensing aspects of the presentinvention are not limited to power management, but rather can beimplemented in virtually any device (data input device or otherwise)where it is desired to determine the presence or non-presence of anobject or body portion in contact with or close proximity to anotherobject. This includes many applications where various other types ofproximity sensors have been used, e.g., water valve actuation intoilets, faucets and drinking fountains, automatic door control systems,alarm systems, security lock systems and safety interlock systems (e.g.,for industrial equipment), etc.

[0037] It will be understood that the phrase “contact with or closeproximity to another object” as used herein encompasses contact or closeproximity with a localized object portion as well as an object in toto,and the use of multiple sensors in conjunction with each other. Thus,e.g., the inventive capacitive sensing system and method may beimplemented with plural sensors for position determination purposesand/or for carrying out position dependent data input, interface orother functionalities. Such functionalities, may include, e.g., touchpad and touch strip functionalities, as well as various computer/userinterface functionalities, such as are disclosed, e.g., in co-ownedcopending application Ser. No. 09/804,496, filed Mar. 9, 2001 (and itsparent applications).

[0038] The power management aspects of the present invention may finduseful application in various types of user operated data inputdevices—portable and non-portable, wireless and wired, self-containedand peripheral, e.g., to a host computer. The invention findsparticularly useful application (but is not limited to) battery powereddevices which are intermittently used and generally left on overextended periods of time so as to provide ready usability when demand sorequires. Such devices include (but are not limited to) portablecomputers, personal data assistants (PDAs), tablet computers, cellularphones, pagers and wireless computer peripherals, e.g., mice andkeyboards.

[0039] The block diagram of FIG. 1 shows the circuitry of an exemplarycomputer mouse incorporating power management and sensing systems inaccordance with the present invention. The mouse is a wireless mouseemploying an optical surface tracking system. Control logic may beimplemented in firmware within a control integrated circuit (IC) 1,e.g., a Sunplus SPMCO2A microprocessor (μP), available from SunplusTechnology Company, Ltd. of Hsinchu, Taiwan, or an application specificintegrated circuit (ASIC). In addition to managing the power supplied tothe system (e.g., by 2 AA batteries 3), μP 1 performs signal processingand output functions of the mouse, and controls the wirelesstransmission of data packets to a host computer via an RF transmitter 5.

[0040] An optical controller IC 7 forms part of an optical trackingengine, controlling illumination of a LED light source 9 which is usedto illuminate a trackable surface (e.g., a desktop). IC 7 also processessignals received from an image detector 10 (which may be included aspart of IC 7) that receives light reflected from the trackable surface.The images are processed by IC 7 using spatial correlation to determinerelative displacement values, in pixel or sub-pixel intervals. A streamof relative displacement values are communicated by IC 7 to μP 1 forfurther processing of the signals into data packets used by the hostcomputer to control the movement of a displayed mouse cursor. μP 1controls an RF transmission section 5 of the mouse to transmit the datapackets to the host computer.

[0041]FIG. 2 is a functional block diagram of a computer 11 used with anexemplary mouse 13 to which the present invention may be applied. Mouse13 illustratively has right and left buttons 15, 17 and a depressible,rotatable scroll wheel 19 located therebetween. Obviously, mouse 13 mayhave more actuators (such as thumb actuation buttons or more fingeractuation buttons), fewer actuators (such as only a single button or twobuttons) or different types of actuators (such as triggers, rollers,etc.). Mouse 13 may instead be another type of cursor control (pointing)device, such as a trackball device. Computer 11 has firmware and/orsoftware providing a mouse driver 21, an operating system 23, a messagehook procedure 25, and a focus application 27. To better understand theoperation of input device 13 in computer system 11, the components ofthat system are discussed in connection with a mouse packet datastructure as illustrated in FIG. 3. Of course, it will be appreciatedthat re-arrangements of the data portions within the data structure ordifferent data portions can be used. For example, where differentactuators are used, the data structure will change accordingly.

[0042]FIG. 3 illustrates a four-byte mouse packet 29 in a row and columnformat with bytes 31, 33, 35, and 37 shown in rows and the individualbits of each byte shown in columns. Byte 31 is the first byte providedby input device 13, byte 33 is the second byte, byte 35 is the thirdbyte, and byte 37 is the fourth byte. The columns of bits are organizedwith the least significant bits on the far right and the mostsignificant bits on the far left. Thus, column 39 includes the leastsignificant bits of each of the four bytes and column 41 includes themost significant bits of the four bytes.

[0043] Within mouse packet 29, first byte 31 includes left button bit43, right button bit 45 and middle button bit 47. A one in the leftbutton bit 43 indicates that the left button is depressed and a zero inleft button bit 43 indicates the left button is not depressed.Similarly, a one in the right button bit 45 or middle button bit 47indicates that the right button or the middle button, respectively, aredepressed and a zero in either of these bits indicates that theirrespective button is not depressed.

[0044] Fourth bit 49 is set to a one.

[0045] Fifth bit 51 of byte 31 is the ninth bit of a 9-bit signed valuethat is completed by byte 33. The 9-bit value produced by thecombination of bit 51 and byte 33 represents the direction and magnitudeof movement of the mouse along the X-coordinate. Since the 9-bit valueis in two's complement format, bit 51 indicates the direction of mousemovement such that if it has a value if zero, mouse movement is in apositive X direction and if it has a value of one, mouse movement is inthe negative X direction.

[0046] Sixth bit 53 of first byte 31 is the ninth bit of a 9-bit signedvalue that is completed by byte 35. The combination of bit 53 and thirdbyte 35 produces a value that indicates the magnitude and direction andmovement of the mouse along the Y coordinate. Since this value is atwo's complement signed value, bit 53 indicates the direction ofmovement along the Y coordinate such that if it has a value of one, themouse movement is in a negative Y direction and if it has a value ofzero, the mouse movement is in a positive Y direction.

[0047] Seventh bit 55 and eighth bit 57 of first byte 31 indicatewhether the 9-bit values formed by bit 51 and byte 33 and by bit 53 andbyte 35, respectively, have incurred an overflow condition. This occurswhen more than nine bits of movement have been detected by the mouse. Inthis condition, the respective 9-bit value should be set to its maximummagnitude for the direction of movement.

[0048] The least significant four bits 59, 61, 63 and 65 of fourth byte37 represent the direction and magnitude of movement of scroll wheel 19.The value represented by bits 59-65 is a signed value wherein a positivevalue indicates wheel motion toward the user and a negative valueindicates wheel motion away from the user.

[0049] Bits 67 and 69 are the fifth and sixth bits of byte 37,respectively, and indicate closure of switches corresponding,respectively, to the left and right buttons 17, 15 of mouse 13. Thus,when bit 67 has a value of one, the switch associated with the leftbutton is closed indicating that the corresponding mouse button has beendepressed. Bit 69 reflects closure of the switch associated with rightmouse button in a similar fashion.

[0050] Bits 71 and 73 of fourth byte 37 are reserved for later use andare set to zero. Those skilled in the art will recognize that mousepacket 29 illustrated in FIG. 3 and the serial interface 75 describedbelow are used in PS/2 and serial mouse connections. For universalserial bus (USB) connections, the mouse information is sent to the mousedriver using publicly available USB protocols for mice.

[0051] In order to describe the processing of a conventional mousemessage, reference is made to both FIGS. 2 and 3. To initiate a mousemessage, the user first manipulates mouse 13. Based on thismanipulation, mouse 13 generates a mouse packet that is passed to serialinterface 75 and which is indicative of the manipulation event. Whenserial interface 75 receives mouse packet 29, it converts the serialinformation in mouse packet 29 into a set of parallel packets andprovides the parallel packets to mouse driver 21. Mouse driver 21creates a mouse message based on the manipulation event in aconventional manner.

[0052] The mouse message is then transmitted to operating system 23.Operating system 23 may be a Microsoft “WINDOWS” operating system, e.g.,“WINDOWS NT®,” “WINDOWS 95®,” “WINDOWS 98®,” or WINDOWS 2000®. Ofcourse, other operating systems can be used as well, such as OS/2 fromIBM Corporation, or UNIX, LINUX, or Apple operating systems, as well asmyriad embedded application operating systems, such as are availablefrom Wind River, Inc. Operating system 23 includes a mouse message hooklist that identifies a series of mouse message hook procedures 25. Whenoperating system 23 receives the mouse message from mouse driver 21, itexamines the mouse message hook list to determine if any mouse messagehook procedures have registered themselves with operating system 23. Ifat least one mouse message hook procedure has registered itself withoperating system 23, operating system 23 passes the mouse message to theregistered mouse message hook procedure 25 that appears first on thelist.

[0053] The called mouse message hook executes and returns a value tooperating system 23 that instructs the operating system to pass themouse message to the next registered mouse message hook.

[0054] The mouse message may, for example, represent a command to anapplication which “owns” the window currently under focus in computer11. In that instance, the message hook procedure 25 issues the commandto the focus window application 27. In response, the focus windowapplication 27 performs the desired function.

[0055] After the message hook procedure 25 issues the command to thefocus application 27, the message hook procedure 25 consumes the mousemessage by removing the message from the message chain. This isaccomplished by returning a value to operating system 23 which indicatesto the operating system that it should not pass the mouse message to anyother message hook procedures.

[0056]FIG. 4 is a more detailed diagram, in partial block form andpartial schematic form, illustrating an optical surface tracking mouse77 to which the present inventive systems may be applied. Mouse 77includes a housing 79, an electromagnetic radiation source (which may bea light source such as an LED) 81, an aperture 83 defined in the bottomof housing 79, a first optical coupler 85, a second optical coupler 87,an image or pattern detector 89, a controller 91, and a current driver93. In FIG. 4, optical mouse 77 is shown supported relative to a worksurface 92. Pattern or image detector 89 can be any suitable detectorwhich is capable of detecting images or patterns from informationcarried by electromagnetic radiation impinging thereon and providing asignal indicative of such patterns or images. Pattern detector 89 may bean artificial retina pattern detector, for example, as described ingreater detail below.

[0057] As mentioned, light source 81 can be any suitable source ofelectromagnetic radiation which can be used to provide radiation forimpingement on a pattern or image and which can then be detected bypattern detector 89. In one illustrative embodiment, light source 81includes an LED 95 and an integral lens 97. Source 81 could also be asurface mounted LED, or a low grade laser (with a wavelength in thenanometer range), for example.

[0058] Radiation emitted from LED 95 is transmitted through integrallens 97 (which is illustratively a dome shaped clear optical piece ofmaterial such as glass or plastic integral with the casing of LED 95)such that it impinges on optical coupler 85. As is described in greaterdetail below, optical coupler 85 collects radiation emitted by LED 95and shapes it. The radiation exits optical coupler 85, passes throughhousing aperture 83 and impinges upon work surface 92. Work surface 92may be an ordinary planar work surface, e.g., desktop, having nopredetermined pattern or texture thereon, or it may be a surfaceprovided with a predetermined pattern, texture or image. The lightreflects off of work surface 92 toward optical coupler 87. Opticalcoupler 87 illustratively includes a lens which collects the radiationreflected from surface 92 and directs it to, and focuses it on, imagedetector (e.g., artificial retina) 89.

[0059] Image detector 89 generates an image signal indicative of animage or pattern on work surface 92, based on the radiation reflectedfrom work surface 92. The image signal is provided to controller 91which computes position information based on the image signal. Theposition information indicates movement of mouse 77 relative to worksurface 92, e.g., in a manner such as is described in theabove-identified (and incorporated by reference) patents and patentapplications. Position information is provided by controller 91 in theform of an information packet, which may be transmitted to computer 11through a cable, or through a wireless transmission link such as aninfrared, ultrasonic, or radio frequency (RF) link. The positioninformation provided by controller 91 may be provided according to aconventional serial or parallel interface format, such as universalserial bus (USB), FireWire™, I²C, PS2, ECP and EPP interface formats.

[0060] As mentioned, image detector 89 may be an artificial retina. Asuitable artificial retina manufactured by Mitsubishi ElectricCorporation includes a two-dimensional array of variable sensitivityphoto detectors (VSPDs) and operates in a known manner. Briefly, theVSPDs are formed by a side-by-side pair of diodes integrated onto andseparated by a semi-insulated GaAs layer (pn-np structure). In oneembodiment, the array is a 32×32 element array, but the array could bemade larger or smaller as desired. The photo detector current depends,both in sign and magnitude, on an applied voltage. Such VSPDs exhibit ananalog memory effect which stores conductivity information when avoltage is applied in the presence of an optical write pulse. Thisinformation is retrieved by injecting an optical readout pulse.

[0061] As a further example, image detector 89 may be provided as partof an optical tracking IC available from Agilent Technologies Inc. ofPalo Alto Calif., e.g., the ADNS 2030 and 2050 ICs. Associated imagingcomponentry (e.g., LED light source and optical coupling assembly) isalso available from Agilent, alone or as part of a complete opticaltracking engine kit intended for use in the design of an opticallytracking mouse.

[0062] Image processing in such devices is based on opticalmatrix-vector multiplication, or approximations thereof. An input imageis projected onto the device as a weight matrix. All VSPDs have oneelectrode connected along rows, yielding a sensitivity control vector.Thus, the VSPD sensitivity can be set to arbitrary values in each rowwithin a certain range. In addition, the remaining VSPD electrode isconnected along columns, yielding an output current vector defined bythe matrix vector product of the weight matrix times the sensitivitycontrol vector.

[0063] In an illustrative embodiment, image detector 89 is controlled,by controller 91, to perform edge extraction operations. Thesensitivities of two adjacent detector rows are set to +1 and −1,respectively, whereas all other sensitivities are set at 0. In thisembodiment, the output current is proportional to the difference inlight intensities of the two active rows. By shifting the controlvoltage pattern in a cyclical manner (0, +1, −1, 0, 0, etc.), thehorizontal edges of the input image are sensed. Thus, the systemoperates in a time sequential and semi-parallel mode.

[0064] In the illustrated embodiment, mouse 77 also includes a currentdriver 93 which is coupled to source 81. With this arrangement,controller 91 can be configured to intermittently sense the intensity ofthe radiation generated by source 81 and adjust the current provided tosource 81 through current driver 93. In other words, if the sensedintensity is lower than a desired range, controller 91 may provide afeedback signal to current driver 93 to boost the current provided tosource 81, in order to increase the intensity of the electromagneticradiation emanating from source 81. If, on the other hand, the intensityof the radiation is higher than a desired range, controller 91 mayprovide a feedback signal to current driver 93 to reduce the currentprovided to source 81, to thereby reduce the intensity of the radiationemitted from source 81. This may be done to maximize the signal/noiseratio of the reflected image information. It may also serve as a means,in addition to the present inventive power management systems andmethods, for reducing the overall power consumption of mouse 73.

[0065] Additional detail concerning the ways in which controller 91 mayreceive image signals from image detector 89 and process the imagesignal to generate position information are set out in the co-owned Adanet al. patent and co-pending patent applications mentioned (andincorporated by reference) above. These details are not directlyrelevant to (and are not necessary to an understanding of) thecapacitive sensing and power management systems of the presentinvention. It should be noted, however, that such signal processingconsumes considerably more power (typically 20-30 mA) than the signalprocessing associated with conventional opto-electrical encoder wheelsystems (typically 1-2 mA). Additional power is also required fordriving the light source of the optical tracking system.

[0066] As previously mentioned, a mouse to which the present inventivesystems may be applied may have a wireless (e.g., RF or infrared) datalink to a host computer. Such a system, including a mouse 99 and areceiver 101, is diagrammatically depicted in FIG. 5. Receiver 101 is anRF receiver that connects to a personal computer 103 with a uniformserial bus (USB) cable. Mouse 99 incorporates an RF transmitter and mayincorporate an optical tracking system as has been described. Mouse 99may be used in an ordinary fashion, e.g., a user can move a cursoracross a computer screen by moving the mouse over a flat (planar)surface, and can control the actions of an on-screen cursor in aconventional “point and click” manner. When a user moves mouse 99 andclicks its buttons, mouse 99 generates binary data representing thisactivity, encapsulates the data into packets, and sends the packets toreceiver 101 as radio frequency (RF) signals. The RF transmission may becarried out in a known manner, the details of which are not necessary toan understanding of the present inventive sensing and power managementsystems. If receiver 101 recognizes mouse 99, it sends the binary datato computer 103. The computer then reacts to the data to cause, forexample, the cursor to move across the screen (monitor) 105.

[0067] Referring now to the assembly drawing of FIG. 6, an exemplaryoptically tracking wireless mouse 107 in accordance with the presentinvention comprises an ergonomically shaped top case 109 and a pair oftop keys or mouse buttons 111, 113. A pair of large and small side mousekeys 115, 117 are cantilever mounted upon and within an ergonomicallyshaped skirt 119. This sub-assembly is mounted upon a bottom case 121 toform, together with front panel 123, an insulative housing for a numberof internal components of mouse 107, which are described below. Thehousing's component parts can be manufactured in a known manner, such asby injection molding. In one embodiment, bottom case 121 is formed ofinjection molded polycarbonate and the remaining housing parts areformed of injection molded ABS copolymer.

[0068] A primary printed circuit board (PCB) 125 holds, on itsunderside, control μP 1, RF transmitter 5, an 8 MHz oscillator 127, andan EEPROM 129, as depicted in FIG. 1. A daughter board 131 attached toPCB 125 holds a pair of switch contacts 133, 135 for front and back sidekeys or buttons 115, 117. Depending from an underside of PCB 125 are apair of battery contacts 137, 139 which extend down into a batterycompartment 141 formed in bottom case 121 to hold the pair of 2 AAbatteries 3 arranged in series. Batteries 3 power the electrical systemsof the mouse through a regulated DC/DC power supply 143 (see FIG. 1),e.g., providing a Vcc output of 3.1V DC. Extending from a top side ofPCB 125 is a metal (e.g., nickel plated steel) spring contact arm 144for contacting a conductive pad of a capacitive sensing plate 145 whichis attached to the underside of the upper housing formed by top case 109and skirt 119.

[0069] PCB 125 physically overlies a second (smaller) PCB 147 upon whichis mounted, on an underside, optical controller IC 7, including integralimage detector 10 and a 20 MHz oscillator 120 for providing an operationclock pulse to IC 7 (see FIG. 1). PCB 147 also holds LED 9 within anaperture thereof. LED 9 protrudes from a top surface of PCB 147 and isaccommodated within an aligned aperture 126 formed in overlying PCB 125.A lens assembly 149 is provided directly below LED 9 and image detector10 and provides optical couplers 85, 87 as diagrammatically illustratedin FIG. 4. Optical couplers 85, 87 serve, respectively, to focus lightof LED 9 through an aperture provided in bottom case 121 to illuminate asupporting trackable surface, and to direct and focus onto imagedetector 89 light reflected off of the trackable surface. The lensassembly may have, e.g., a construction as disclosed in previouslyidentified (and incorporated by reference) copending application Ser.No. 09/273,899. Second PCB 147 further holds a switch 151 for top rightmouse button 111.

[0070] A third PCB 153 is held within a scroll wheel assembly carrier155. Mounted thereon is an opto-electric emitter/receiver pair 157 ofthe scroll wheel system, and a middle mouse button switch 159 which isdepressed by movably mounted scroll wheel axle 161 when scroll wheel 163is depressed by a user. The scroll wheel system may have a constructionas disclosed in copending commonly owned U.S. application Ser. No.09/212,898, filed Dec. 16, 1998, which is hereby incorporated byreference in its entirety. Third PCB 153 also holds a switch 165 for topleft mouse button 113.

[0071] Two AA alkaline batteries 3 will power mouse 107 with a capacityof about 2500 mAh. In order to conserve the limited battery power, apower management system in accordance with the invention will power downthe mouse when it is not in use. The power management system ispreferably implemented as firmware in μP 1, or optionally as a separateapplication specific integrated circuit (ASIC). As part of the system, atouch/proximity sensor provides one of several indications of usage.There are preferably (but not necessarily) five states the mouse can bein at any given time: ACTIVE, IDLE, EXTENDED IDLE, BEACON and SHUTDOWN.The state diagram of FIG. 8 illustrates these states, and how the systemtransitions between the states.

[0072] Referring to FIG. 8, the two primary states are SHUTDOWN 165 andACTIVE 167. In SHUTDOWN state 165, μP 1 is placed in a reduced powermode wherein the only functions carried out are periodic monitoring fortouch/proximity and mouse button and scroll wheel usage activity.Sampling for touch/proximity and button/scroll wheel activity is carriedout at set “wake interrupt” intervals. EEPROM 129 (see FIG. 1) is alsopowered to maintain, in non-volatile memory, a security code associatedwith RF data transmissions to the host computer. All power to opticalcontroller IC 7 and the associated LED light source 9 and image detector10 (collectively the optical tracking engine), as well as RF transmitter5, is turned off. Selective application of power from power supply 143to the optical tracking engine is provided by switch 130, which iscontrolled by the logical output on pin OPT_PWR 132 of μP 1 (see FIG.1). SHUTDOWN state 165 preferably only occurs at times that anassociated sensing algorithm is in a touch-off (OFF) state, indicatingthe absence of a user's hand on (or in close proximity to) a mousemounted touch/proximity sensor. The state machine will preferablytransition to SHUTDOWN state 165 upon occurrence of an OFF signal (flag)during any other state, or via a timeout from an EXTENDED IDLE state 169(described below).

[0073] In the preferred ACTIVE state 167, each of the aforementionedmouse sub-systems is powered-up and fully operational. ACTIVE state 167occurs only at times that the sensing algorithm is in an ON state,indicating the presence of a user's hand on (or in close proximity to)the mouse. As mentioned, the absence of a user's hand results ingeneration of an OFF flag. Upon a predetermined duration of mouseinactivity in ACTIVE state 167 (e.g., 400 ms), coupled with an ON stateof the sensing algorithm, the state machine transitions to an IDLE state171. In IDLE state 171, the system preferably effectively cycles betweenthe SHUTDOWN and ACTIVE state conditions, e.g., SHUTDOWN for 80 ms,ACTIVE for 50 ms. Upon occurrence of an OFF signal, the state machinepreferably immediately transitions from IDLE state 171 to SHUTDOWN state165. If the sensing algorithm remains in the ON state, but no mouseactivity, such as mouse movement, scrolling or button press activity,occurs within 30 seconds (or another preset time period), the statemachine transitions to EXTENDED IDLE state 169. EXTENDED IDLE state 169is similar to IDLE state 171 in that the system effectively cyclesbetween the SHUTDOWN and ACTIVE state conditions 167, 165, but with alonger period of shutdown per cycle, e.g., activation approximately onceevery second (every 12 wake interrupts) instead of once every 80 ms(every wake interrupt).

[0074] If the touch algorithm flag remains ON, but the optical trackingsystem fails to detect a tracking surface for a predetermined amount oftime, e.g., two or more seconds (indicating that the mouse has beenpicked up off its supporting surface by the user), the state machinepreferably transitions to a BEACON state 173. In BEACON state 173, thepower cycling of the EXTENDED IDLE state is preferably initiated(activation once every 12 wake interrupts) and the tracking light source(LED) 9 is flashed at a reduced rate, e.g., only once per second (1 Hz)instead of the nominal 8 Hz flash rate used for tracking. Thissubstantially reduced pulse rate of the light source conserves energy,and provides positive feedback to the user, e.g., serving to avoidconcern on the part of the user regarding eye exposure to the normaltracking illumination of LED 9.

[0075] Upon the occurrence of any mouse activity during IDLE state 171,EXTENDED IDLE state 169 or BEACON state 173, the state machinepreferably immediately transitions back to ACTIVE state 167. Inaddition, the state machine will transition from BEACON state 173 backto ACTIVE state 167 once a tracking surface is again sensed by theoptical tracking system. Should an OFF flag be generated during any oneof IDLE state 171, EXTENDED IDLE state 161 or BEACON state 173, thestate machine will immediately transition to SHUTDOWN state 165. Also, atransition to SHUTDOWN state 165 will preferably occur upon theexpiration of a predetermined amount of time, e.g., 180 seconds, ineither BEACON state 173 or EXTENDED IDLE state 169.

[0076] In the described exemplary (mouse) embodiment of the invention,input signal generating means are provided in the form of an opticaltracking engine, mouse buttons and a scroll wheel. In the reduced powerstates of the invention, these means are powered down to differentextents based, in part, upon the amount of power consumed by the means.It will be understood that the invention is generally applicable tovirtually any type of user operated data input device having pluraltypes of input signal generating means, to differentially control thesupply of power to those means taking into account the relative powerconsumption rates.

[0077] The five preferred power states of the exemplary mouse embodimentare now described in further detail.

[0078] ACTIVE State 167

[0079] This is the normal operating state when the user is moving mouse107, moving scroll wheel 163 or activating one or more of mouse buttons111, 113, 115, 117. In ACTIVE state 167, the firmware of μP 1 isreceiving XY packets from optical controller IC 7, and sampling themouse buttons, the scroll wheel, and the state of the sensing algorithm.μP 1 may also be checking a level of batteries 3 via a Low-batt pin 175(see FIG. 1). ACTIVE state 167 consumes the most power, mainly due tooperation of the optical (XY) tracking engine and the RF transmitter 5.In order to conserve power, the state machine preferably maintains atimer which will expire after a predetermined period of no activity(e.g., 400 ms). If the timer expires and the user's hand is stilltouching (or in close proximity to) the mouse, the state machine willenter IDLE state 171. If the timer elapses, and the user is not touching(or in close proximity to) the mouse, then the state machine will enterSHUTDOWN state 165.

[0080] IDLE State 171

[0081] As mentioned above, IDLE state 171 is entered when there has beenno activity for 400 ms, and the user is touching (or in close proximityto) the mouse. In this state, the mouse is essentially powered off, andμP 1 is put in a STOP mode. An external RC network 177 (see FIG. 1) ispreferably used to wake μP 1 after a predetermined delay, e.g., 80 ms.Once awake, the processor will power-up and initialize IC 7, and lookfor XY motion. The firmware will also check for a state change of scrollwheel 163, sample the mouse buttons and sample the state (ON or OFF) ofthe sensing algorithm. The “on” time during IDLE state 171 is preferablyabout 50 ms. In addition, a 30-second timer may be set. If this timerexpires before an event is detected, then the state machine willpreferably enter EXTENDED IDLE state 169. If touch is released (sensingalgorithm enters OFF state), then SHUTDOWN state 165 is entered. Anyevent will cause ACTIVE state 167 to be entered. Any of the primarymouse buttons will preferably wake the μP 1 immediately, as willactuation of a “Channel Connect” button 179 (see FIGS. 1, 5 and 6) whichmay be provided as part of the RF transmission system, for establishinga unique identification code of the mouse that will be recognized by theassociated receiver having a corresponding “Channel Connect” button 181(see FIG. 5).

[0082] EXTENDED IDLE State 169

[0083] This state is intended to conserve additional power, if the userhas rested his hand on the mouse for a relatively long period, e.g., 30seconds, without moving the mouse (XY motion) or the scroll wheel (Zmotion), or actuating any of the mouse buttons. In this state, IC 7 ispowered at a reduced rate, e.g., once a second instead of once every 130ms. After a predetermined time in this state, e.g., 180 seconds, themouse will enter SHUTDOWN state 165. Otherwise, EXTENDED IDLE state 169is the same as IDLE state 171.

[0084] BEACON State 173

[0085] BEACON state 173 is intended to reduce the LED flash rate (e.g.,from 8 Hz to 1 Hz) if the mouse is in IDLE state 171 and the user picksup the mouse and holds it. When the mouse is removed from a trackablesurface, the surface moves out of focus and the blur becomesindistinguishable. A similar condition arises if the supporting surfaceis optically vague, such as a mirror or perfectly smooth or glossysurface such as a Lambertian re-radiator, i.e., a surface that the mousecannot properly track. To recognize such a condition, IC 7 may send astatus bit in every PS/2 packet that will indicate whether or not it ison a good surface. The firmware of μP 1 may check this after being inIDLE state 171, e.g., for more the 2 seconds. After entering BEACONstate 173, the trackable surface bit may be checked once every second.If “on surface” is indicated, then ACTIVE state 167 is preferablyreentered.

[0086] In a preferred implementation of BEACON state 173, power isrepeatedly removed from IC 7 for an interval of approximately onesecond. Once each one second interval has expired, IC 7 is poweredback-up and retests the surface. While not present on a trackablesurface, LED 9 appears to “pulse” like a beacon, once a second, whileretesting of the surface is carried out. In addition to conservingbattery power, BEACON state 173 reduces potential annoyance by, andconcern about, the normal high frequency flicker of the LED in theregular tracking mode.

[0087] Known and available optical tracking engines provide severalmetrics that may be used to assess the presence or absence of atrackable surface. In accordance with the invention, these metrics canbe brought out on separate status bit lines of IC 7. One bit line can,e.g., indicate the status FOUND or LOST, indicating whether or not theimage values (e.g., pixel intensity measures Maxpix, Minpix and Avgpix)obtained from the auto-correlation functions carried out by IC 7 arewithin the workable range of the optical tracking engine's A/Dconverter. If they are, a FOUND bit is output. If not, theauto-correlation function has failed and a LOST bit is output.

[0088] A second bit line can, e.g., provide a status of either“Velocity-Valid” or “Velocity-Invalid.” Even in the case thatauto-correlation is successfully carried out (thus resulting in a FOUNDbit on the first bit line) the nature of the detected surface may renderit untrackable, e.g., due to aliasing. Thresholds can be set to indicatewhen the mouse movement signals (e.g., velocity) obtained from thecross-correlation processing are outside of a range of physicalpossibility. For example, if the result of cross-correlation processingof IC 7 indicates that the mouse has undergone an instantaneous changeof direction (a physically impossible occurrence), then a“Velocity-Invalid” or like status bit can be output. On the other hand,so long as the movement indicated by the cross-correlation processing iswithin a range of possible mouse movements, a “Velocity-Valid” statusbit may be output.

[0089] IC 7 may employ a logical expression such as Good_Surface=FOUND&& Velocity_Valid. In summary, ‘FOUND’ is a status bit indicating thatparameters of the tracking engine are stabilized and that they arewithin a normal operation range for a surface that is trackable.Velocity_Valid status indicates that the outputs of the tracking engineare valid and apparently correct. The combination of these two signalsmay be used to provide a high degree of assurance that BEACON state 173is entered only when the mouse has been removed from a trackablesurface. When it has been detected that the mouse has been removed froma trackable surface, the state machine will transition to BEACON state173. Upon detection of a Good_Surface, the device logic may transitionto ACTIVE state 167, to present useful motion information fortransmission to the host computer.

[0090] SHUTDOWN State 165

[0091] This is the lowest Power State of the mouse, wherein the mousemay draw only ˜100 μamps of current. Actuation of any of the threeprimary (right, left and middle) mouse button switches 151, 165 and 159,or of Channel Connect button 179, will generate an interrupt causing theprocessor to wake immediately, and cause the state machine to enterACTIVE state 167. Otherwise, processor 1 will enter a STOP mode, thenwake after a predetermined delay (e.g., 80-85 ms). The “wake” time forμP 1 is preferably about 3 ms. In the waked state, μP 1 will poll fortouch (an ON state of the sensing algorithm) and actuation of thesecondary (side) buttons 115, 117. (In an exemplary embodiment, thelimited number of interrupt pins on μP 1 are used for the primary mousebuttons and Channel Connect button 179. Of course, with a greater numberof available interrupt pins, all of the mouse buttons could be connectedto be sensed by interrupt rather than polling.) Preferably, to conservepower, no checking for XY motion (operation of the optical trackingengine) or scroll wheel rotation is carried out in the SHUTDOWN state.

[0092] Various types of operator engagement/proximity sensors may beused to provide the control input flags ON/OFF to the power managementsystem of the invention, e.g., infrared (IR) and other light-baseddetectors, electrostatic, electromagnetic and mechanical switches,piezoelectric and other types of accelerometers or acoustic detectors,and thermal or temperature based switches. In a preferred embodiment,capacitive sensing is employed, preferably a novel system and method ofcapacitive sensing as will now be described.

[0093] In accordance with the capacitive sensing aspects of the presentinvention, a relative increase in a capacitance between a conductor anda device ground signals the presence of an object or body portion incontact with or close proximity to another object. As applied to a useroperated data input device, the system signals the presence or absenceof a user's hand or other operation instrumentality (e.g., a pen of penbased data input device) in contact with or close proximity to thedevice. As applied to mouse 107, the capacitive sensing system sensesthe presence of a user's hand on or in close proximity to mouse 107.

[0094] In accordance with the invention, a change in the size of arelatively small capacitor formed between sensor plate 145 (see FIG. 6)and its surroundings (a relative device ground) is detected by way of acharge transfer technique, in a manner which avoids processing intensive(and relatively slow) capacitance measurements by an A/D converter orthe like. By way of analogy, a change in the relative size of the small(“scoop”) capacitor 181 may be determined by repeatedly dumping thecharge of scoop capacitor 181 into a larger (“bucket”) capacitor 183(see FIGS. 1 and 7), and counting the number of “scoops” required to“fill” the bucket capacitor. The “scoop” capacitor is modulated by thetouch or close proximity of a user's hand, for example. The closer theuser's hand is to the mouse, the larger the apparent size of the scoopcapacitor. By counting the number of “scoops” it takes to fill the“bucket,” a capacitance change initiated by a change in the user's handproximity, as the user touches/removes his hand from the mouse, can bedetected.

[0095] In a first embodiment, the inventive sensing system works bysequentially charging “scoop” capacitor 181, and dumping it intorelatively large, preferably fixed size bucket capacitor 183. Bucketcapacitor 183 may, e.g., have a capacitance C of 4.7 nF, whereas thecapacitance of the scoop capacitor may vary within the range of 15-45pF. The filling/dumping process is continued until bucket capacitor 183is “full.” An increase in the size of scoop capacitor 181, indicative ofthe presence or absence of a user's hand in contact with or closeproximity to the mouse, can then be determined by how many “scoops” ittook to fill the bucket.

[0096] As seen in FIGS. 1 and 7, a preferred implementation uses two I/Opins A, B of μP 1 to control the filling, dumping (charge transferring)and input threshold switch sampling actions. Obviously, otherhardware/software/firmware arrangements may be utilized in order toachieve the same or similar result, including arrangements of discretecircuit elements, or an ASIC, in lieu of firmware programmed μP 1. Thefollowing steps may be executed by μP 1 under firmware control:

[0097] 1) μP 1 clamps both pins A and B to ground, to discharge thebucket capacitor 183. Counter=0.

[0098] 2) Pin B is set to be a high impedance input (floating), and PinA is set high, to charge the scoop capacitor (without charging bucketcapacitor 183).

[0099] b 3) Pin A is set to be a high impedance input (floating), andPin B is driven low, to dump the charge from scoop capacitor 181 intobucket capacitor 183.

[0100] 4) Counter=counter+1 (count one scoop).

[0101] 5) Pin A (still a high impedance input) is sampled to see if ithas crossed an input high threshold (indicates a bucket “full”condition). If not, steps 2-5 are repeated.

[0102] 6) Algorithm is complete; Counter value is inversely proportionalto a relative size of the scoop capacitor. The lower the Counter value,the greater the capacitance of the scoop capacitor. The Counter valuemay be used directly as a current touch value (TouchVal), or may beaveraged into a new touch reading, e.g., TouchVal=(TouchVal+Counter)/2,in which case TouchVal is a moving average value.

[0103] Thus, following each cycle of charge transfer, an input thresholdswitch of μP 1, e.g., a CMOS transistor connected to pin A, is checkedto determine whether its threshold (e.g., ½ Vcc=1.55V ±20%) has beenreached. When it has, this indicates that the bucket capacitor is“full.” A counter is incremented for each check, up to the point thatthe threshold voltage is exceeded. The presence of a hand on (or inclose proximity to) the mouse is determined when the count related value(TouchVal) falls below a predetermined threshold count value (which ispreferably dynamically adjusted in a manner to be described). Theaforementioned touch-on (ON) or touch-off (OFF) signals are generatedbased upon this determination.

[0104] As described so far, TouchVal is a count value or moving averagecount value. It will be understood, however, that TouchVal could insteadbe another variable related to the count, e.g., a time value providing aproxy indication of the number of cycles of charge transfer required toreach the input high threshold.

[0105] In a “low-side” variation of the above technique, sampling iscarried out at Pin B (instead of Pin A) at the time that Pin B is set tobe a high impedance input. A CMOS transistor threshold switch of atypical controller will transition from low-to-high at a voltage that issomewhat different than the high-to-low transition point. Thisdifference can be utilized to provide different resolutions of the countvalue. In carrying out the “low-side” variation, μP 1 may execute thefollowing steps:

[0106] 1) μP 1 clamps both pins A and B to ground, to discharge bucketcapacitor 183 and scoop capacitor 181. Counter=0.

[0107] 2) Pin B is set to be a high impedance input (floating), and PinA is set high, to charge the scoop capacitor (without charging bucketcapacitor 183).

[0108] 3) Pin B (still a high impedance input) is sampled to see if ithas crossed an input low threshold (indicates a bucket “full”condition). If crossed, proceed to step (7). If not crossed, continue tostep (4).

[0109] 4) Pin A is set to be a high impedance input (floating), and PinB is driven low, to dump the charge from scoop capacitor 181 into bucketcapacitor 183.

[0110] 5) Counter=counter+1 (count one scoop).

[0111] 6) Repeat steps 2-5.

[0112] 7) Algorithm is complete; Counter value is inversely proportionalto a relative size of the scoop capacitor. The lower the Counter value,the greater the capacitance of the scoop capacitor. The Counter valuemay be used directly as a current touch value (TouchVal), or may beaveraged into a new touch reading, e.g., TouchVal=(TouchVal+Counter)/2,in which case TouchVal is a moving average value.

[0113] In an alternative embodiment that may be carried out with thecircuit arrangement of FIG. 7, TouchVal may be representative of anumber of cycles required to dump (rather than charge) bucket capacitor183 through the scoop capacitor 181. Again, by way of analogy, thebucket is initially “filled,” and then it is emptied, scoop by scoop,until a threshold low (or high) voltage is detected indicating that thecharge of the bucket capacitor has been “emptied,” i.e., reduced below athreshold level. In carrying out this alternative embodiment, μP 1 mayexecute the following steps:

[0114] 1) μP 1 drives Pin A high and Pin B low, to charge (“fill”)bucket capacitor 183.

[0115] 2) Pin A is driven low and Pin B is set to be a high impedanceinput (floating), to dump the charge of scoop capacitor 181 to ground(without dumping the charge of bucket capacitor 183).

[0116] 3) Pin A is set to be a high impedance input (floating) and Pin Bis driven low, resulting in a transfer of charge from bucket capacitor183 to scoop capacitor 181.

[0117] 4) Counter=counter+1 (count one scoop).

[0118] 5) Pin A (still a high impedance input) is sampled to see if ithas crossed an input low threshold (indicates bucket is “empty”). Ifnot, steps 2-5 are repeated.

[0119] 6) Algorithm is complete; As in the first embodiment, the Countervalue is inversely proportional to a relative size of the scoop. Thelower the Counter value, the greater the capacitance of the scoopcapacitor. TouchVal may be set as the Counter value itself, a movingaverage of the Counter value, or a value otherwise related to theCounter value, e.g., a corresponding time value.

[0120] The polarity of the charge in step (1) may be reversed such thatPin B is driven high and Pin A is driven low to charge the bucketcapacitor. In this case, Pin A is sampled in step (5) to see if itcrossed an input high threshold.

[0121] Similar to the first “bucket filling” embodiment, sampling may becarried out in the above “bucket emptying” embodiments at Pin B (insteadof Pin A), at the time that Pin B is set as a high impedance input. Incarrying out this variation, μP 1 may execute the following steps:

[0122] 1) μP 1 drives Pin A high and Pin B low, to charge (“fill”)bucket capacitor 183.

[0123] 2) Pin A is driven low and Pin B is set to be a high impedanceinput (floating), to dump the charge of scoop capacitor 181 to ground(without dumping the charge of bucket capacitor 183).

[0124] 3) Pin B (still a high impedance input) is sampled to see if ithas crossed an input high threshold (indicates bucket is “empty”). Ifcrossed, proceed to step (7). If not crossed, then continue to step (4).

[0125] 4) Pin A is set to a high impedance input (floating) and Pin B isdriven low, resulting in a transfer of charge from bucket capacitor 183to scoop capacitor 181.

[0126] 5) Counter=counter+1 (count one scoop).

[0127] 6) Repeat steps 2-5.

[0128] 7) Algorithm is complete; as in the first embodiment, the Countervalue is inversely proportional to a relative size of the scoop. Thelower the Counter value, the greater the capacitance of the scoopcapacitor. TouchVal may be set as the Counter value itself, a movingaverage of the Counter value, or a value otherwise related to theCounter value, e.g., a corresponding time value.

[0129] The polarity of the charge in step (1) may be reversed such thatPin B is driven high and Pin A is driven low to charge the bucketcapacitor. In this case, Pin B is sampled in step (3) to see if it hascrossed an input low threshold.

[0130] In a further alternative embodiment that may be carried out withthe circuit arrangement of FIG. 7, TouchVal may be representative of anumber of cycles required to “fill” bucket capacitor 183 by way of avoltage applied to bucket capacitor 183 and scoop capacitor 181connected in series. In this case, a per-cycle increase in charge ofbucket capacitor 183 is regulated by the relative size of scoopcapacitor 181. In carrying out this alternative embodiment, μP 1 mayexecute the following steps:

[0131] 1) UP 1 clamps both pins A and B to ground, to discharge bucketcapacitor 183 and scoop capacitor 181. Counter=0.

[0132] 2) Pin A is set to be a high impedance input (floating), and PinB is set high; this puts the bucket and scoop capacitors in series. Thesame current flows through both capacitors, and when the scoop capacitoris filled current stops flowing through both the bucket capacitor andthe scoop.

[0133] 3) Pin B is set to be a high impedance input (floating), and PinA is driven low, to discharge the scoop capacitor (without dischargingthe bucket), so that it may be filled again.

[0134] 4) Counter=counter+1 (count one scoop).

[0135] 5) Pin B (still a high impedance input) is sampled to see if ithas crossed an input high threshold (indicates a bucket “full”condition). If so, proceed to step (6). If not, repeat steps 2-5.

[0136] 6) Algorithm is complete; Counter value is inversely proportionalto a relative size of the scoop capacitor. The lower the Counter value,the greater the capacitance of the scoop capacitor. The Counter valuemay be used directly as a current touch value (TouchVal), or may beaveraged into a new touch reading, e.g., TouchVal=(TouchVal+Counter)/2,in which case TouchVal is a moving average value.

[0137] In a “low-side” variation of the above-described furtheralternative embodiment, sampling is carried out at Pin A (instead of PinB) at the time that Pin A is set to be a high impedance input. Incarrying out this variation, μP 1 may execute the following steps:

[0138] 1) μP 1 clamps both pins A and B to ground, to discharge bucketcapacitor 183 and scoop capacitor 181. Counter=0.

[0139] 2) Pin A is set to be a high impedance input (floating), and PinB is set high; this puts the bucket and scoop in series. The samecurrent flows through both capacitors, and when the scoop capacitor isfilled current stops flowing through both the bucket capacitor and thescoop capacitor.

[0140] 3) Pin A (still a high impedance input) is sampled to see if ithas crossed an input low threshold (indicates a bucket “full”condition). If so, proceed to step (7). If not, then continue to step(4).

[0141] 4) Pin B is set to be a high impedance input (floating) and Pin Ais driven low, to discharge the scoop capacitor (without discharging thebucket) so that it may be filled again.

[0142] 5) Counter=counter+1 (count one scoop).

[0143] 6) Repeat steps 2-5.

[0144] 7) Algorithm is complete; Counter value is inversely proportionalto a relative size of the scoop capacitor. The lower the Counter value,the greater the capacitance of the scoop capacitor. The Counter valuemay be used directly as a current touch value (TouchVal), or may beaveraged into a new touch reading, e.g., TouchVal=(TouchVal+Counter)/2,in which case TouchVal is a moving average value.

[0145] As seen in FIGS. 6 and 10-14, conductive sensor plate 145advantageously may take the form of an adhesively applied conductivelabel adhered to an underside of an upper housing 185 of mouse 107,formed by top case 109 and skirt 119. Conductive label 145 may comprise,e.g., a thin flexible layer of insulative material such as clear heatstabilized polyester (e.g., Mylar™) sheet 146, printed on one side witha pattern of conductive ink 148. The sheet may, e.g., have a thicknessin the range of 0.75-0.13 mm. Conductive ink 148 may be, e.g., a knowncarbon (graphite) or silver particle ink of the type commonly used forprinting circuit lines and contacts on the layers of a membrane switch.The ink may be applied by known silk-screening processes to a thicknessin the range of 0.010-0.015 mm, for example. Carbon based conductive inkis generally lower in cost, easier to apply and more rugged (resistantto the effects of abrasion) than silver-based conductive ink. Given thevery low transient current of the capacitive sensor circuit (e.g., 0.1μA average), the additional impedance of carbon based ink (as comparedto silver-based ink) presents no added difficulty.

[0146] On an opposite side of sheet 146 is a layer of adhesive 150(e.g., 3M Company No. 467) which is exposed upon removal of a peel-offliner 152. In an exemplary embodiment, adhesive layer 150 has a nominalthickness of 0.05 mm. Liner 152 may be divided into sections byselectively placed cut lines 154, as shown in FIG. 11. This arrangementfacilitates removal of liner 152 just prior to application of label 145to housing 185.

[0147] Label 145, which may be die cut from stock sheet material,comprises a central body portion 156 of irregular, generally polygonalshape, that is applied to a central rear portion of mouse housing 185.Body portion 156 has a relatively large solid region of conductive ink158 and a smaller conductive ink region 170. Multiple lines ofconductive ink extend outwardly from region 170, to a pair of “arm”portions 160, 162, a “neck” portion 164, and a “head” portion 166.

[0148] Smaller solid conductive ink region 170 presents a contact padfor spring contact arm 144 extending from PCB 125 (see FIG. 6). Theruggedness of carbon ink material, and its inherent immunity toenvironmental concerns, result in a reliable interconnect at this pointbetween spring contact arm 144 and label 145. Relatively largeconductive ink region 158 is removed from direct electrical connectionwith smaller region 170 and the conductive lines extending therefrom.Region 158 serves to provide an additional capacitive coupling with therelative device ground, when a hand is present on or in close proximityto the mouse. In this manner, conductive region 158 tends to increaseapparent capacitance when a hand is present, to thus improve thesensitivity of the sensing system.

[0149] Arm portions 160, 162 are applied so as to cover, respectively,right and left side portions of housing 185 (specifically skirt 119thereof). Relatively large arm portion 160 extends across seam 172formed between top case 109 and skirt 119 and then along a major part ofthe right side of skirt 119. Relatively small arm portion 162 extendsacross a seam 174 formed between skirt 119 and top case 109 and thenupwardly along a relatively small rearward portion of skirt 119 (seeFIG. 14). As shown, a side of sheet 146 opposite the side with theprinted conductive pattern may have a region 176 of arm 162 which isprinted with non-conductive ink. Region 176 forms a mask serving toblock transmittance of stray light from LED 9 (within the housing)through any gap that may be formed at seam 174 formed between thehousing parts. Neck portion 164 extends along a central part of housing185, between top case 109 and skirt 119, to concealed head portion 166.Head portion 166 is applied to a central part of housing 185 locateddirectly behind scroll wheel 163, in a small space formed between topcase 109 and skirt 119.

[0150] By extending conductive material across those regions of housing185 most likely to be grasped or touched by a user, the illustratedconfiguration of label 145 works well for sensing the presence of auser's hand in contact with or in close proximity to mouse 107. Inaddition, label 145 advantageously may serve to provide additionalprotection from electrostatic discharge (ESD), especially at the seamsformed between the adjoined housing parts across which label 145extends. In particular, once label 145 is applied, a spacing is createdbetween the conductive printing and the exposed seams of housing 185,equal to the combined thickness of adhesive layer 150 and sheet 146.This spacing, and the insulative effect of the adhesive and sheetmaterial, provide an extended electrostatic discharge (ESD) creepagepath allowing sufficient isolation to protect the enclosed electronicsfrom most electrostatic damage sources.

[0151] The mouse's circuit elements, printed circuit boards andsurrounding environment, together effectively form a device ground planerelative to the sensor plate formed by conductive label 145. The use ofplural closely spaced thin lines 168 of conductive ink in the differentregions of label 145 serves to reduce the self-capacitance of label 145with the device ground, such that the capacitance induced by a user'shand is more significant and detectible relative to the capacitanceinduced by label 145 itself. To this end, it is desirable to make thelines as thin as practicable with known silk-screening processes. Forreliability, however (and as shown), it may be desirable to make the“backbone” or trunk conduction lines extra thick. This will help ensurethat a break in conductivity does not occur along one of those lines,thus reducing the possibility of a loss of electrical continuitythroughout an entire plate region.

[0152] The human hand is a complex structure, often requiringcorresponding complex geometries for man/machine actuation. Manytechniques for presentation of complex shaped conductive materialsrequired for capacitive detection of human touch are relativelyexpensive or present other manufacturability or reliability drawbacks. Aconductive plate in the form of a flexible adhesive label provides anelegant, cost effective and technically reliable approach for providingcoverage of (and adherence to) the complex and/or interconnectedsurfaces of ergonomically designed electronic device housings. Housing185 is one illustrative example, comprising concave and convexcurvatures that vary along orthogonal axes over a roughly hemisphericalshape, and seams between multiple interconnected housing parts.

[0153] A further advantage of the flexible adhesive label approach ofthe invention is the ease with which labels of different shape andconfigurations can be cut to extend around (avoid) bosses and otherstructural obstacles that may be present on a housing portion to whichthe sensor is to be applied. Of course, numerous conductorconfigurations besides a label may be used to create a capacitivecoupling with a device ground that may be modulated by the presence orabsence of an object or body portion to be sensed, e.g., flat andthree-dimensional stamped metal plates, wires, conductive rods, etc. Onthe other hand, any capacitive detection system (single or multipleplate) may benefit from the present inventive conductive label approach,especially where the need arises to sense proximity to or contact withcomplex, interrupted and/or interconnected surface areas.

[0154] A sensing algorithm for determining and outputting atouch/proximity or no touch/proximity flag (ON/OFF) is now described,with reference to FIG. 9. As a matter of convenience, the terms “touch,”“touching,” etc. are used in the following description of the algorithmto refer to touch and/or close proximity. The touch flag ON is set whenthe algorithm (state machine) is in the stOn or stOnPos states 187, 189,and is cleared in the stOff and stOffPos states 191, 193. The touchalgorithm periodically reads a new touch value (TouchVal) using theabove-described counting algorithm. The following is a list of variablesthat may be used in the sensing algorithm: TouchVal Current touchreading (result from above counting algorithm). TouchOff Current OFFthreshold value. TouchAvg In the ON states, holds a filtered(pseudo-average) value which is used in the comparison to enter the“stOff” state (see below). TouchCnt A filtering count value used in thedifferent touch states.

[0155] There are four different states the touch algorithm can be in:stOff: User is not touching, algorithm waiting to go ON. A check forentering the “stOn” state (see below) is performed here. StOffPos: Useris not touching, TouchVal > TouchOff value. This state is a filter, andratchets TouchOff up slowly. StOn: User is touching; algorithm iswaiting to go to the “stOff” state StOnPos: User is touching, TouchVal >TouchAvg. This state is a filter which ratchets TouchAvg up slowly. Acheck for entering the stOff state is performed here.

[0156] With reference to FIG. 9, operation of the touch algorithm may besummarized as follows. The state machine transitions from stoff state191 to stOn state 187 upon TouchVal falling a predetermined amount below(e.g., more than 2 counts below) TouchOff. The state machine transitionsfrom stOn state 187 to stOff state 191 upon a filtered (pseudo-average)touch value (TouchAvg) reaching or exceeding TouchOff. Each time thatTouchVal exceeds TouchAvg, state stOnPos 189 is entered, wherein acounter initially set, e.g., at 4 is decremented. If TouchVal remainshigher than TouchAvg such that the counter is decremented to 0, thevalue of TouchAvg is incremented to TouchAvg+1. TouchAvg is reset toTouchVal upon TouchVal dropping to or below TouchAvg, and upon a statetransition from stoff to stOn.

[0157] The threshold count value TouchOff is preferably dynamicallyadjusted in the following manner. When batteries 3 are first installed,the touch-state algorithm is preferably initialized to the stOn state.TouchVal is set to the current touch reading, and the initial TouchOffvalue is set to a maximum counter value of 255. As TouchVal will notordinarily ever reach this maximum value, this forces the touchalgorithm to remain in the stOn state until the state machine of FIG. 8transitions to the SHUTDOWN state via a timeout (e.g., 180 sec.) of nomouse activity. At this point TouchOff is reset to TouchAvg, which isdetermined in the manner described above. Preferably, any transition toSHUTDOWN from another state will cause TouchOff to be set to the currentTouchAvg. At this point, the system can generally correctly assume thatno hand is present.

[0158] If, during stOff state 191, TouchVal exceeds a current value ofTouchOff, a state stOffPos 193 is entered wherein a counter initiallyset, e.g., at 8 is decremented. If TouchVal remains higher than TouchOffsuch that the counter is decremented to 0, the value of TouchOff isincremented to TouchOff+1. TouchOff is reset to TouchAvg upon a statetransition from stOnPos to stOff (which occurs upon TouchAvg reaching orexceeding TouchOff). In stoff state 191, TouchOff is decremented by 1each time a current touch reading (TouchVal) falls just below TouchOff(e.g., TouchOff−2≦TouchVal<TouchOff) for a preset number of controlcycles (e.g., 100).

[0159] The preferred states, and state transition conditions, arefurther described below.

[0160] stOn State 187

[0161] If TouchVal is<TouchAvg, then TouchAvg is set to the currenttouch reading (no state change).

[0162] If TouchVal is>TouchAvg, then counter TCount is initialized to 4,and the state machine transitions to stOnPos state 189.

[0163] stOnPos State 189

[0164] If TouchVal is<TouchAvg, then TouchAvg is set equal to TouchValand the state machine transitions to stOn state 187.

[0165] If TouchVal is>TouchAvg, TCount is decremented, and if thecount=0 (4 successive TouchVal readings>TouchAvg), then TouchAvg isincremented. This state serves to perform a slow filter for the touchreadings, so momentary drops will not unnecessarily put the touch-statemachine in the stOff state 191.

[0166] If TouchAvg>=TouchOff, then the state machine transitions tostOff state 191 and another counter OffCnt (which may use the sameregister as TCount) is set to 100. TouchOff is set to TouchAvg.

[0167] stOff State 191

[0168] If TouchVal is>TouchOff, then the state machine transitions tostOffPos state 193 and counter TCount is set to 8.

[0169] If TouchVal is<(TouchOff−2), then the state machine transitionsto the stOn state, and TouchAvg is initialized to TouchVal.

[0170] If TouchVal is<TouchOff, but>=(TouchOff−2), then counter OffCntis decremented. If OffCnt=0, then TouchOff is decremented, and OffCnt isreset to 100. This is the case where a lower TouchOff value is learned(i.e., when the mouse is moved to a more capacitive environment). Whenthe mouse state machine enters SHUTDOWN state 165, and the state machineis set to stOff state 191, TouchOff is set to TouchAvg.

[0171] stOffPos State 193

[0172] If TouchVal is>TouchOff, then TCount is decremented. If TCount=0,then TouchOff is incremented and TCount is reset to 8. This is thecondition where a higher TouchOff value is learned (i.e., when the mouseis moved to a less capacitive environment).

[0173] If TouchVal is<=TouchOff, then OffCnt is set to 100 and the statemachine transitions to the stOff state.

[0174] The present invention has been described in terms of preferredand exemplary embodiments thereof. Numerous other embodiments,modifications and variations within the scope and spirit of the appendedclaims will occur to persons of ordinary skill in the art from a reviewof this disclosure. In the claims, the use of the labels for algorithmvariables appearing in the specification is for convenience and clarityand is not intended to have any limiting effect.

1. A hand-held cursor control device comprising: an optical trackingengine including a light source which is flashed; detector means fordetecting light from said light source which has been reflected off of asurface; determining means for determining the presence or absence of atrackable surface; and control means for controlling said light sourcesuch that (a) when said determining means determines the presence of atrackable surface said light source is flashed at a first ratepermitting tracking of said surface, and (b) when said determining meansdetermines the absence of a trackable surface said light source isflashed at a second rate lower than said first rate.
 2. A hand operatedcursor control device according to claim 1, wherein said second rate isapproximately 1 Hz.
 3. A hand operated cursor control device accordingto claim 1, wherein said cursor control device is a computer mouse, andsaid optical tracking engine is configured to track on a planar surfaceupon which the mouse rests.
 4. A hand operated cursor control deviceaccording to claim 1, wherein said cursor control device incorporatestherein a power supply for supplying power to said tracking engine.
 5. Ahand operated cursor control device according to claim 1, wherein saidcursor control device is linkable to a host computer without a hardwired connection.
 6. In a hand-held cursor control device comprising anoptical tracking engine including a light source which is flashed, amethod of operation comprising: detecting light from said light sourcewhich has been reflected off of a surface; determining the presence orabsence of a trackable surface; and controlling said light source suchthat (a) when the presence of a trackable surface is determined saidlight source is flashed at a first rate permitting tracking of saidsurface, and (b) when the absence of a trackable surface is determinedsaid light source is flashed at a second rate lower than said firstrate.
 7. A method of operation according to claim 6, wherein said secondrate is approximately 1 Hz.
 8. A method of operation according to claim6, wherein said cursor control device is a computer mouse, and saidoptical tracking engine is configured to track on a planar surface uponwhich the mouse rests.